// ## fopen
#include <stdio.h>
#include <stdbool.h>
#include <inttypes.h>
#include <iso646.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>
#include <float.h>
#include <string.h>
#include <math.h>

// lc_

#define N 6

int main(int argc, char const *argv[])
{

    // "r"	читать: Открыть файл для операций ввода. Файл должен существовать.
    // "w"	запись: Создание пустого файла для операций вывода. Если файл с таким же именем уже существует, его содержимое отбрасывается, и файл рассматривается как новый пустой файл.
    // "a"	добавить: Открыть файл для вывода в конце файла. Операции вывода всегда записывают данные в конце файла, расширяя его. Операции репозиционирования (fseek, fsetpos, rewind) игнорируются. Файл создается, если он не существует.
    // "r+"	чтение/обновление: Откройте файл для обновления (как для ввода, так и для вывода). Файл должен существовать.
    // "w+"	запись/обновление: создайте пустой файл и откройте его для обновления (как для ввода, так и для вывода). Если файл с таким же именем уже существует, его содержимое отбрасывается, и файл рассматривается как новый пустой файл.
    // "a+"	добавление/обновление: Откройте файл для обновления (как для ввода, так и для вывода) со всеми операциями вывода, записывающими данные в конце файла. Операции перемещения (fseek, fsetpos, rewind) влияют на следующие операции ввода, но операции вывода перемещают позицию обратно в конец файла. Файл создается, если он не существует.

    /* code */
    FILE *pF;
    pF = fopen("a.te", "w");
    if (pF != NULL)
    {
        fputs("first fputs", pF);
        // fclose(pF);
    }
    else
        printf("fputs Error");

    return 0;
}